/**
 * Copyright (c) 2013-Now http://jeesite.com All rights reserved.
 */
package com.jeesite.modules.financial.entity.taxclearance;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeesite.common.collect.ListUtils;
import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.JoinTable;
import com.jeesite.common.mybatis.annotation.JoinTable.Type;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import com.jeesite.modules.base.entity.cars.Tcar;
import com.jeesite.modules.base.entity.customer.Customer;
import com.jeesite.modules.base.entity.supplier.Supplier;
import com.jeesite.modules.order.entity.serviceorder.RelatedRecord;
import com.jeesite.modules.order.entity.serviceorder.ServiceOrder;
import com.jeesite.modules.order.entity.serviceorder.ServiceOrderDetail;
import com.jeesite.modules.sys.entity.Company;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.Date;
import java.util.List;

/**
 * 通关缴税Entity
 * @author Kilo
 * @version 2021-03-10
 */
@Table(name="t_tax_clearance", alias="a", columns={
		@Column(name="tax_clearance_id", attrName="taxClearanceId", label="通关缴税ID", isPK=true),
		@Column(name="tax_clearance_code", attrName="taxClearanceCode", label="编号"),
		@Column(name="service_order_id", attrName="serviceOrderId", label="服务订单"),
		@Column(name="car_id", attrName="carId", label="车辆"),
		@Column(name="frame_number", attrName="frameNumber", label="车架号"),
		@Column(name="area", attrName="area", label="版型"),
		@Column(name="customs_broker", attrName="customsBroker", label="报关行"),
		@Column(name="customer_id", attrName="customer.customerId", label="客户"),
		@Column(name="investor_id", attrName="investorId", label="国内资方"),
		@Column(name="prepaid_id", attrName="company.companyCode", label="垫付方"),
		@Column(name="status1", attrName="status1", label="状态"),
		@Column(name="isinvpad", attrName="isinvpad", label="是否资方垫付"),
		@Column(name="declared_price", attrName="declaredPrice", label="申报价格", comment="申报价格（外币）"),
		@Column(name="tax_price", attrName="taxPrice", label="出税价格", comment="出税价格（外币）"),
		@Column(name="difference", attrName="difference", label="差额"),
		@Column(name="customs_combined_tax_rate", attrName="customsCombinedTaxRate", label="海关综合税率"),
		@Column(name="comprehensive_tax", attrName="comprehensiveTax", label="综合税金"),
		@Column(name="foreign_currency_price", attrName="foreignCurrencyPrice", label="外币价格"),
		@Column(name="customs_exchange_rate", attrName="customsExchangeRate", label="海关汇率"),
		@Column(name="currency", attrName="currency", label="币种"),
		@Column(name="tax_payment_method", attrName="taxPaymentMethod", label="缴税方式"),
		@Column(name="tax_payment_deadline", attrName="taxPaymentDeadline", label="缴税截止日期"),
		@Column(name="pad_tax_mode", attrName="padTaxMode", label="垫税模式"),
		@Column(name="tax_date", attrName="taxDate", label="出税日期"),
		@Column(name="tax_payment_date", attrName="taxPaymentDate", label="缴税日期"),
		@Column(name="prepaid_amount", attrName="prepaidAmount", label="代垫金额", comment="代垫金额（RMB）"),
		@Column(name="amount", attrName="amount", label="代收代付金额", comment="代收代付金额（RMB）"),
		@Column(name="pad_tax_memo", attrName="padTaxMemo", label="垫税说明"),
		@Column(name="delay_memo", attrName="delayMemo", label="延期说明"),
		@Column(name="investor_actual_repayment_date", attrName="investorActualRepaymentDate", label="实际还款日期"),
		@Column(name="investor_actual_days", attrName="investorActualDays", label="实际天数"),
		@Column(name="investor_real_time_interest", attrName="investorRealTimeInterest", label="付款实时利息"),
		@Column(name="investor_actual_interest", attrName="investorActualInterest", label="付款实际利息"),
		@Column(name="customer_actual_repayment_date", attrName="customerActualRepaymentDate", label="实际还款日期"),
		@Column(name="customer_actual_days", attrName="customerActualDays", label="实际天数"),
		@Column(name="customer_real_time_interest", attrName="customerRealTimeInterest", label="收款实时利息"),
		@Column(name="customer_actual_interest", attrName="customerActualInterest", label="收款实际利息"),
		@Column(name="create_by", attrName="createBy", label="创建者", isUpdate=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false),
		@Column(name="update_by", attrName="updateBy", label="更新者", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false),
		@Column(name="remarks", attrName="remarks", label="备注信息", queryType=QueryType.LIKE),
		@Column(name="ar_id", attrName="arId", label="应收单ID"),
		@Column(name="ap_id", attrName="apId", label="应付单ID"),
		@Column(name="investor_pad_tax_interest", attrName="investorPadTaxInterest", label="资方垫税利息"),
		@Column(name="investor_pad_tax_yq_interest", attrName="investorPadTaxYqInterest", label="资方垫税延期利息"),
		@Column(name="customer_pad_tax_interest", attrName="customerPadTaxInterest", label="客户垫税利息"),
		@Column(name="customer_pad_tax_yq_interest", attrName="customerPadTaxYqInterest", label="客户垫税延期利息"),
		@Column(name="prepayment_id", attrName="prepaymentId", label="预付款ID"),
		@Column(name="advances_received_id", attrName="advancesReceivedId", label="预收款ID"),
		@Column(name="dlf_ar_id", attrName="dlfArId", label="代理费应收ID"),
		@Column(name="row_number", attrName="rowNumber", label="行号")
	}, joinTable={
		@JoinTable(type=Type.LEFT_JOIN, entity= Customer.class, attrName="customer", alias="c",
				on="c.customer_id = a.customer_id", columns={
				@Column(name="customer_id", label="客户编码", isPK=true),
				@Column(name="customer_name", label="客户名称", isQuery=false),
		}),
		@JoinTable(type=Type.LEFT_JOIN, entity= Supplier.class, attrName="supplier", alias="d",
				on="d.supplier_id = a.customs_broker", columns={
				@Column(name="supplier_id", label="报关行编码", isPK=true),
				@Column(name="supplier_name", label="报关行名称", isQuery=false),
		}),
		@JoinTable(type=Type.LEFT_JOIN, entity= Supplier.class, attrName="investor", alias="e",
				on="e.supplier_id = a.investor_id", columns={
				@Column(name="supplier_id", label="国内资方编码", isPK=true),
				@Column(name="supplier_name", label="国内资方名称", isQuery=false),
		}),
		@JoinTable(type=Type.LEFT_JOIN, entity= Supplier.class, attrName="prepaid", alias="f",
				on="f.supplier_id = a.prepaid_id", columns={
				@Column(name="supplier_id", label="垫付方编码", isPK=true),
				@Column(name="supplier_name", label="垫付方名称", isQuery=false),
		}),
		@JoinTable(type = JoinTable.Type.LEFT_JOIN, entity = ServiceOrder.class, attrName = "serviceOrder", alias = "s",
				on = "s.service_order_id = a.service_order_id",
				columns = {
				@Column(name = "service_order_id", label = "服务订单ID", isPK = true),
				@Column(name = "service_order_code", label = "服务订单编号"),
		}),
		@JoinTable(type= JoinTable.Type.LEFT_JOIN, entity= Tcar.class, attrName="tcar", alias="b",
				on="b.car_id = a.car_id", columns={
				@Column(name="car_id", label="车辆编码", isPK=true),
				@Column(name="car_name", label="车辆名称", isQuery=false),
		}),
        @JoinTable(type=Type.LEFT_JOIN, entity= Company.class, attrName="company", alias="u11",
                on="u11.company_code = a.prepaid_id", columns={
                @Column(name="company_code", label="公司编码", isPK=true),
                @Column(name="company_name", label="公司名称", isQuery=false),
        }),
	},orderBy="a.update_date DESC"
)
public class TaxClearance extends DataEntity<TaxClearance> {

	private static final long serialVersionUID = 1L;
	private String taxClearanceId;		// 通关缴税ID
	private String taxClearanceCode;		// 编号
	private String serviceOrderId;		// 服务订单
	private String carId;		// 车辆
	private String frameNumber;		// 车架号
	private String area;		// 版型
	private String customsBroker;		// 报关行
	private String customerId;		// 客户
	private String investorId;		// 国内资方
	private String prepaidId;		// 垫付方
    private Company company;
	private String status1;		// 状态
	private String isinvpad;
	private Double declaredPrice;		// 申报价格（外币）
	private Double taxPrice;		// 出税价格（外币）
	private Double difference;		// 差额
	private String customsCombinedTaxRate;		// 海关综合税率
	private Double comprehensiveTax;		// 综合税金
	private Double foreignCurrencyPrice;		// 外币价格
	private String customsExchangeRate;		// 海关汇率
	private String currency;		// 币种
	private String taxPaymentMethod;		// 缴税方式
	private Date taxPaymentDeadline;		// 缴税截止日期
	private String padTaxMode;		// 垫税模式
	private Date taxDate;		// 出税日期
	private Date taxPaymentDate;		// 缴税日期
	private Double prepaidAmount;		// 代垫金额（RMB）
	private Double amount;		// 代收代付金额（RMB）
	private String padTaxMemo;		// 垫税说明
	private String delayMemo;		// 延期说明
	private Date investorActualRepaymentDate;		// 实际还款日期
	private Long investorActualDays;		// 实际天数
	private Double investorRealTimeInterest;		// 付款实时利息
	private Double investorActualInterest;		// 付款实际利息
	private Date customerActualRepaymentDate;		// 实际还款日期
	private Long customerActualDays;		// 实际天数
	private Double customerRealTimeInterest;		// 收款实时利息
	private Double customerActualInterest;		// 收款实际利息
	private List<TaxClearanceDetail> taxClearanceDetailList = ListUtils.newArrayList();		// 子表列表
	private List<TaxClearanceDetail> taxClearanceDetailList1 = ListUtils.newArrayList();		// 资方
	private List<TaxClearanceDetail> taxClearanceDetailList2 = ListUtils.newArrayList();		// 客户
	private Customer customer;// 客户
	private Supplier supplier;// 报关行
	private Supplier investor;// 资方
	private Supplier prepaid;// 垫付方
	private ServiceOrder serviceOrder;        // 服务订单
	private Tcar tcar; // 车辆
	private String arId;
	private String apId;
	private Double investorPadTaxInterest;		// 资方垫税利息
	private Double investorPadTaxYqInterest;		// 资方垫税延期利息
	private Double customerPadTaxInterest;		// 客户垫税利息
	private Double customerPadTaxYqInterest;		// 客户垫税延期利息
	private String prepaymentId;
	private String advancesReceivedId;
	private String dlfArId;
	private Long rowNumber;
	private List<RelatedRecord> relatedRecordList = ListUtils.newArrayList();		// 子表列表

	public List<RelatedRecord> getRelatedRecordList() {
		return relatedRecordList;
	}

	public void setRelatedRecordList(List<RelatedRecord> relatedRecordList) {
		this.relatedRecordList = relatedRecordList;
	}

	private List<ServiceOrderDetail> carInfoList; //用来存放车辆信息

	public String getDlfArId() {
		return dlfArId;
	}

	public void setDlfArId(String dlfArId) {
		this.dlfArId = dlfArId;
	}

	public String getPrepaymentId() {
		return prepaymentId;
	}

	public void setPrepaymentId(String prepaymentId) {
		this.prepaymentId = prepaymentId;
	}

	public String getAdvancesReceivedId() {
		return advancesReceivedId;
	}

	public void setAdvancesReceivedId(String advancesReceivedId) {
		this.advancesReceivedId = advancesReceivedId;
	}

	public Double getInvestorPadTaxInterest() {
		return investorPadTaxInterest;
	}

	public void setInvestorPadTaxInterest(Double investorPadTaxInterest) {
		this.investorPadTaxInterest = investorPadTaxInterest;
	}

	public Double getInvestorPadTaxYqInterest() {
		return investorPadTaxYqInterest;
	}

	public void setInvestorPadTaxYqInterest(Double investorPadTaxYqInterest) {
		this.investorPadTaxYqInterest = investorPadTaxYqInterest;
	}

	public Double getCustomerPadTaxInterest() {
		return customerPadTaxInterest;
	}

	public void setCustomerPadTaxInterest(Double customerPadTaxInterest) {
		this.customerPadTaxInterest = customerPadTaxInterest;
	}

	public Double getCustomerPadTaxYqInterest() {
		return customerPadTaxYqInterest;
	}

	public void setCustomerPadTaxYqInterest(Double customerPadTaxYqInterest) {
		this.customerPadTaxYqInterest = customerPadTaxYqInterest;
	}

	public String getArId() {
		return arId;
	}

	public void setArId(String arId) {
		this.arId = arId;
	}

	public String getApId() {
		return apId;
	}

	public void setApId(String apId) {
		this.apId = apId;
	}

	public Supplier getPrepaid() {
		return prepaid;
	}

	public void setPrepaid(Supplier prepaid) {
		this.prepaid = prepaid;
	}

	public Tcar getTcar() {
		return tcar;
	}

	public void setTcar(Tcar tcar) {
		this.tcar = tcar;
	}

	public ServiceOrder getServiceOrder() {
		return serviceOrder;
	}

	public void setServiceOrder(ServiceOrder serviceOrder) {
		this.serviceOrder = serviceOrder;
	}

	public List<TaxClearanceDetail> getTaxClearanceDetailList1() {
		return taxClearanceDetailList1;
	}

	public void setTaxClearanceDetailList1(List<TaxClearanceDetail> taxClearanceDetailList1) {
		this.taxClearanceDetailList1 = taxClearanceDetailList1;
	}

	public List<TaxClearanceDetail> getTaxClearanceDetailList2() {
		return taxClearanceDetailList2;
	}

	public void setTaxClearanceDetailList2(List<TaxClearanceDetail> taxClearanceDetailList2) {
		this.taxClearanceDetailList2 = taxClearanceDetailList2;
	}

	public Customer getCustomer() {
		return customer;
	}

	public void setCustomer(Customer customer) {
		this.customer = customer;
	}

	public Supplier getSupplier() {
		return supplier;
	}

	public void setSupplier(Supplier supplier) {
		this.supplier = supplier;
	}

	public Supplier getInvestor() {
		return investor;
	}

	public void setInvestor(Supplier investor) {
		this.investor = investor;
	}

	public TaxClearance() {
		this(null);
	}

	public TaxClearance(String id){
		super(id);
	}

	public String getTaxClearanceId() {
		return taxClearanceId;
	}

	public void setTaxClearanceId(String taxClearanceId) {
		this.taxClearanceId = taxClearanceId;
	}

	@Length(min=0, max=100, message="编号长度不能超过 100 个字符")
	public String getTaxClearanceCode() {
		return taxClearanceCode;
	}

	public void setTaxClearanceCode(String taxClearanceCode) {
		this.taxClearanceCode = taxClearanceCode;
	}

	@NotBlank(message="服务订单不能为空")
	@Length(min=0, max=64, message="服务订单长度不能超过 64 个字符")
	public String getServiceOrderId() {
		return serviceOrderId;
	}

	public void setServiceOrderId(String serviceOrderId) {
		this.serviceOrderId = serviceOrderId;
	}

	@Length(min=0, max=64, message="车辆长度不能超过 64 个字符")
	public String getCarId() {
		return carId;
	}

	public void setCarId(String carId) {
		this.carId = carId;
	}

	@NotBlank(message="车架号不能为空")
	@Length(min=0, max=100, message="车架号长度不能超过 100 个字符")
	public String getFrameNumber() {
		return frameNumber;
	}

	public void setFrameNumber(String frameNumber) {
		this.frameNumber = frameNumber;
	}

	@Length(min=0, max=64, message="版型长度不能超过 64 个字符")
	public String getArea() {
		return area;
	}

	public void setArea(String area) {
		this.area = area;
	}

	@Length(min=0, max=64, message="报关行长度不能超过 64 个字符")
	public String getCustomsBroker() {
		return customsBroker;
	}

	public void setCustomsBroker(String customsBroker) {
		this.customsBroker = customsBroker;
	}

	@Length(min=0, max=64, message="客户长度不能超过 64 个字符")
	public String getCustomerId() {
		return customerId;
	}

	public void setCustomerId(String customerId) {
		this.customerId = customerId;
	}

	@NotBlank(message="国内资方不能为空")
	@Length(min=0, max=64, message="国内资方长度不能超过 64 个字符")
	public String getInvestorId() {
		return investorId;
	}

	public void setInvestorId(String investorId) {
		this.investorId = investorId;
	}

	@Length(min=0, max=64, message="垫付方长度不能超过 64 个字符")
	public String getPrepaidId() {
		return prepaidId;
	}

	public void setPrepaidId(String prepaidId) {
		this.prepaidId = prepaidId;
	}

	@Length(min=0, max=1, message="状态长度不能超过 1 个字符")
	public String getStatus1() {
		return status1;
	}

	public void setStatus1(String status1) {
		this.status1 = status1;
	}

	public Double getDeclaredPrice() {
		return declaredPrice;
	}

	public void setDeclaredPrice(Double declaredPrice) {
		this.declaredPrice = declaredPrice;
	}

	public Double getTaxPrice() {
		return taxPrice;
	}

	public void setTaxPrice(Double taxPrice) {
		this.taxPrice = taxPrice;
	}

	public Double getDifference() {
		return difference;
	}

	public void setDifference(Double difference) {
		this.difference = difference;
	}

	@Length(min=0, max=10, message="海关综合税率长度不能超过 10 个字符")
	public String getCustomsCombinedTaxRate() {
		return customsCombinedTaxRate;
	}

	public void setCustomsCombinedTaxRate(String customsCombinedTaxRate) {
		this.customsCombinedTaxRate = customsCombinedTaxRate;
	}

	public Double getComprehensiveTax() {
		return comprehensiveTax;
	}

	public void setComprehensiveTax(Double comprehensiveTax) {
		this.comprehensiveTax = comprehensiveTax;
	}

	public Double getForeignCurrencyPrice() {
		return foreignCurrencyPrice;
	}

	public void setForeignCurrencyPrice(Double foreignCurrencyPrice) {
		this.foreignCurrencyPrice = foreignCurrencyPrice;
	}

	@Length(min=0, max=10, message="海关汇率长度不能超过 10 个字符")
	public String getCustomsExchangeRate() {
		return customsExchangeRate;
	}

	public void setCustomsExchangeRate(String customsExchangeRate) {
		this.customsExchangeRate = customsExchangeRate;
	}

	@Length(min=0, max=2, message="币种长度不能超过 2 个字符")
	public String getCurrency() {
		return currency;
	}

	public void setCurrency(String currency) {
		this.currency = currency;
	}

	@NotBlank(message="缴税方式不能为空")
	@Length(min=0, max=2, message="缴税方式长度不能超过 2 个字符")
	public String getTaxPaymentMethod() {
		return taxPaymentMethod;
	}

	public void setTaxPaymentMethod(String taxPaymentMethod) {
		this.taxPaymentMethod = taxPaymentMethod;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTaxPaymentDeadline() {
		return taxPaymentDeadline;
	}

	public void setTaxPaymentDeadline(Date taxPaymentDeadline) {
		this.taxPaymentDeadline = taxPaymentDeadline;
	}

	@Length(min=0, max=50, message="垫税模式长度不能超过 50 个字符")
	public String getPadTaxMode() {
		return padTaxMode;
	}

	public void setPadTaxMode(String padTaxMode) {
		this.padTaxMode = padTaxMode;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getTaxDate() {
		return taxDate;
	}

	public void setTaxDate(Date taxDate) {
		this.taxDate = taxDate;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@NotNull(message="缴税日期不能为空")
	public Date getTaxPaymentDate() {
		return taxPaymentDate;
	}

	public void setTaxPaymentDate(Date taxPaymentDate) {
		this.taxPaymentDate = taxPaymentDate;
	}

	public Double getPrepaidAmount() {
		return prepaidAmount;
	}

	public void setPrepaidAmount(Double prepaidAmount) {
		this.prepaidAmount = prepaidAmount;
	}

	public Double getAmount() {
		return amount;
	}

	public void setAmount(Double amount) {
		this.amount = amount;
	}

	@Length(min=0, max=255, message="垫税说明长度不能超过 255 个字符")
	public String getPadTaxMemo() {
		return padTaxMemo;
	}

	public void setPadTaxMemo(String padTaxMemo) {
		this.padTaxMemo = padTaxMemo;
	}

	@Length(min=0, max=255, message="延期说明长度不能超过 255 个字符")
	public String getDelayMemo() {
		return delayMemo;
	}

	public void setDelayMemo(String delayMemo) {
		this.delayMemo = delayMemo;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getInvestorActualRepaymentDate() {
		return investorActualRepaymentDate;
	}

	public void setInvestorActualRepaymentDate(Date investorActualRepaymentDate) {
		this.investorActualRepaymentDate = investorActualRepaymentDate;
	}

	public Long getInvestorActualDays() {
		return investorActualDays;
	}

	public void setInvestorActualDays(Long investorActualDays) {
		this.investorActualDays = investorActualDays;
	}

	public Double getInvestorRealTimeInterest() {
		return investorRealTimeInterest;
	}

	public void setInvestorRealTimeInterest(Double investorRealTimeInterest) {
		this.investorRealTimeInterest = investorRealTimeInterest;
	}

	public Double getInvestorActualInterest() {
		return investorActualInterest;
	}

	public void setInvestorActualInterest(Double investorActualInterest) {
		this.investorActualInterest = investorActualInterest;
	}

	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	public Date getCustomerActualRepaymentDate() {
		return customerActualRepaymentDate;
	}

	public void setCustomerActualRepaymentDate(Date customerActualRepaymentDate) {
		this.customerActualRepaymentDate = customerActualRepaymentDate;
	}

	public Long getCustomerActualDays() {
		return customerActualDays;
	}

	public void setCustomerActualDays(Long customerActualDays) {
		this.customerActualDays = customerActualDays;
	}

	public Double getCustomerRealTimeInterest() {
		return customerRealTimeInterest;
	}

	public void setCustomerRealTimeInterest(Double customerRealTimeInterest) {
		this.customerRealTimeInterest = customerRealTimeInterest;
	}

	public Double getCustomerActualInterest() {
		return customerActualInterest;
	}

	public void setCustomerActualInterest(Double customerActualInterest) {
		this.customerActualInterest = customerActualInterest;
	}

	public Date getTaxPaymentDeadline_gte() {
		return sqlMap.getWhere().getValue("tax_payment_deadline", QueryType.GTE);
	}

	public void setTaxPaymentDeadline_gte(Date taxPaymentDeadline) {
		sqlMap.getWhere().and("tax_payment_deadline", QueryType.GTE, taxPaymentDeadline);
	}

	public Date getTaxPaymentDeadline_lte() {
		return sqlMap.getWhere().getValue("tax_payment_deadline", QueryType.LTE);
	}

	public void setTaxPaymentDeadline_lte(Date taxPaymentDeadline) {
		sqlMap.getWhere().and("tax_payment_deadline", QueryType.LTE, taxPaymentDeadline);
	}

	public Date getTaxDate_gte() {
		return sqlMap.getWhere().getValue("tax_date", QueryType.GTE);
	}

	public void setTaxDate_gte(Date taxDate) {
		sqlMap.getWhere().and("tax_date", QueryType.GTE, taxDate);
	}

	public Date getTaxDate_lte() {
		return sqlMap.getWhere().getValue("tax_date", QueryType.LTE);
	}

	public void setTaxDate_lte(Date taxDate) {
		sqlMap.getWhere().and("tax_date", QueryType.LTE, taxDate);
	}

	public Date getTaxPaymentDate_gte() {
		return sqlMap.getWhere().getValue("tax_payment_date", QueryType.GTE);
	}

	public void setTaxPaymentDate_gte(Date taxPaymentDate) {
		sqlMap.getWhere().and("tax_payment_date", QueryType.GTE, taxPaymentDate);
	}

	public Date getTaxPaymentDate_lte() {
		return sqlMap.getWhere().getValue("tax_payment_date", QueryType.LTE);
	}

	public void setTaxPaymentDate_lte(Date taxPaymentDate) {
		sqlMap.getWhere().and("tax_payment_date", QueryType.LTE, taxPaymentDate);
	}

	public Date getInvestorActualRepaymentDate_gte() {
		return sqlMap.getWhere().getValue("investor_actual_repayment_date", QueryType.GTE);
	}

	public void setInvestorActualRepaymentDate_gte(Date investorActualRepaymentDate) {
		sqlMap.getWhere().and("investor_actual_repayment_date", QueryType.GTE, investorActualRepaymentDate);
	}

	public Date getInvestorActualRepaymentDate_lte() {
		return sqlMap.getWhere().getValue("investor_actual_repayment_date", QueryType.LTE);
	}

	public void setInvestorActualRepaymentDate_lte(Date investorActualRepaymentDate) {
		sqlMap.getWhere().and("investor_actual_repayment_date", QueryType.LTE, investorActualRepaymentDate);
	}

	public Date getCustomerActualRepaymentDate_gte() {
		return sqlMap.getWhere().getValue("customer_actual_repayment_date", QueryType.GTE);
	}

	public void setCustomerActualRepaymentDate_gte(Date customerActualRepaymentDate) {
		sqlMap.getWhere().and("customer_actual_repayment_date", QueryType.GTE, customerActualRepaymentDate);
	}

	public Date getCustomerActualRepaymentDate_lte() {
		return sqlMap.getWhere().getValue("customer_actual_repayment_date", QueryType.LTE);
	}

	public void setCustomerActualRepaymentDate_lte(Date customerActualRepaymentDate) {
		sqlMap.getWhere().and("customer_actual_repayment_date", QueryType.LTE, customerActualRepaymentDate);
	}

	public List<TaxClearanceDetail> getTaxClearanceDetailList() {
		return taxClearanceDetailList;
	}

	public void setTaxClearanceDetailList(List<TaxClearanceDetail> taxClearanceDetailList) {
		this.taxClearanceDetailList = taxClearanceDetailList;
	}

	public List<ServiceOrderDetail> getCarInfoList() {
		return carInfoList;
	}

	public void setCarInfoList(List<ServiceOrderDetail> carInfoList) {
		this.carInfoList = carInfoList;
	}

    public String getIsinvpad() {
        return isinvpad;
    }

    public void setIsinvpad(String isinvpad) {
        this.isinvpad = isinvpad;
    }

    public Company getCompany() {
        return company;
    }

    public void setCompany(Company company) {
        this.company = company;
    }

	public Long getRowNumber() {
		return rowNumber;
	}

	public void setRowNumber(Long rowNumber) {
		this.rowNumber = rowNumber;
	}
}
